Personal computers in general and IBM personal computers in particular have attained widespread use for providing computing power to many segments of today's modern society for handling information in the form of digital data. These personal computers are either a desktop, floor-standing or portable microcomputer that consists of a system unit having a single system processor and associated volatile and nonvolatile memory; a display; a keyboard and other input device; data storage in the form of one or more diskette drives and/or a fixed disk drive or a nonvolatile memory equivalent; and possibly an optional printer or other output device. These personal computers have the capacity to operate in a stand-alone environment but are frequently connected to a data transmission network in order to provide the additional capability to share data and programs with other computers attached to the network, frequently using a network technology such as token ring or ethernet communications.
These personal computers perform a wide variety of data processing applications, the variety largely resulting from software loaded on and employed by the personal computer, since personal computer hardware is generally rather homogenous from one data processing application to the next. A significant variation in the data processing applications used by an individual employee will be found throughout a large corporation.
Thus, a large corporation may be broken down into an accounting organization, an engineering organization and a manufacturing organization as well as other specialized organizations like graphics, administrative, personnel,
legal, and customer service. The accounting organization will be using spreadsheet and general ledger software as well as accounts payable and accounts receivable software, while the engineering organization may be focused on computer-aided design and computer aided manufacturing (CAD/CAM) applications as well as finite element analysis (FEA) programs. A manufacturing organization may be most interested in material requirements planning (MRP) software and enterprise resource planning (ERP) software, while the graphical arts department may be using software for graphical presentations. Word processing programs may be useful in an administrative or secretarial department and other functions may have their own specific software applications which are designed for data processing for their unique operations. While many users will have functional requirements which require specialized and unique software, most, if not all of the personal computer users will use general purpose software (e.g., operating systems, browsers for Internet access and mail functions for communications within the organization).
In a large company, then, there is a need for each personal computer workstation to have a variety of software, some of which is general purpose and other of which is customized to the needs of the user. Generally, software is licensed on a per user or per workstation basis, and the software costs for a workstation will often be much greater than the cost of the hardware.
Thus, a large company will want to match the software on the workstation to the user's requirement and provide neither too little software (because the user will not be able to perform his job responsibilities optimally) nor too much software (because of the cost of the licenses and the fact that inappropriate software will not be used efficiently or not at all).
There are two different approaches in general use to set up personal computers with the appropriate software matched to the prospective user. The first approach is to load a common set of base software (required by all users) on each personal computer, then download the unique requirements for each user, using a data transmission network. In theory, unique software could also be loaded from individual software media (diskettes or CD ROMs, but with the number of programs in use and the size of the programs, such a system for loading software is too cumbersome to be used commercially. The second approach is load everything which any user (e.g., in any part of the company) will want to use, and then have the user either ignore the unwanted software or delete it.
The first approach has the disadvantage that downloading the unique software using the network requires a significant bandwidth of the network, preventing the network from performing its useful functions while it is downloading the software to each personal computer workstation. Since the software programs are getting progressively larger over time (the software has additional function and improved presentation graphics as well as improved interfaces, error messages and help screens, for example), so these downloads will take up more of a limited resource of the network and require the networks to be designed to handle large peak loads. Further, some of the personal computers are located remote and connected by modem rather than by network, making the communication bandwidth even more limited. An application of this first approach is described in more detail in the Software Loading reference mentioned above.
The second approach of loading all the software on each workstation or personal computer has the disadvantage that license fees for software would incurred even though the particular copy of the software would not be used—e.g., the general ledger program for the engineering department or the manufacturing department, the finite element analysis program for the accounting department.
Since the number of personal computers and users in some companies is in the thousands, and since the number of software applications involved may exceed one hundred, the extra loading on the network (from using the first approach) or the cost of unnecessary licenses (from using the second approach) is substantial.
The systems for loading software onto computers also have application to a retail operation where an entity offers computers to a variety of purchasers in the public with a variable initial load of software. The desired software (that requested by any given puchaser) could be selected, then installed, or the entire selection of available software could be preloaded onto each computer. In either case, then, the same disadvantages are present: if only the selected software is loaded, then communications resources are consumed to download the selected software. If all the software is preloaded without regard to what the use the specific purchaser may want or need, then additional license costs will be incurred for software which is neither needed nor wanted.
Accordingly, it is desirable to avoid incurring license fees for software which is not to be used by the user of a particular personal computer workstation while avoiding unnecessary loading of the network connecting the personal computers to a host.
Other limitations and disadvantages of the prior art systems for installing software selectively on a plurality of computers will be apparent to those skilled in the art in view of the following description of the present invention taken in conjunction with the appended claims and the accompanying drawings.